CPI(Cycles Per Instruction)とは?シーピーアイ
CPI(Cycles Per Instruction)は、プロセッサが1命令を実行するのに平均で何クロックを要するかを示す指標で、小さいほど効率がよい。実行時間は「命令数×CPI÷クロック周波数」で求まるため、周波数が高くてもCPIが大きければ実効性能は伸びず、3つの要素をそろえて比較する必要がある。
最終更新:2026-10-06
この語が出る過去問を解く →背景
プロセッサの速さをクロック周波数だけで比べていた時代は、命令の作りが異なる機種どうしを並べても意味のある比較にならなかった。1命令に何クロックかかるかは命令の種類にも内部構造にも左右されるため、周波数と切り離した指標が要る。そこで平均クロック数をCPIとして取り出し、命令数・CPI・周波数の3つへ分けて実行時間を式で扱えるようにした。パケット処理をソフトウェアで行う経路の性能見積りにも同じ考え方を使う。
具体例
CPIが2.5のプロセッサが2GHzで動くとき、1億命令の実行時間は1億×2.5÷2G=0.125秒。パイプラインや分岐予測の改善でCPIを1.5まで下げられれば、周波数を上げなくても0.075秒になり、周波数を1.2倍にするより効く場合がある。
試験での引っ掛け
同じ綴りでも、プロジェクトマネジメントのEVMに出るCPI(Cost Performance Index=コスト効率指数、EV÷AC)は全くの別物で、こちらは1を上回るほど良い。値の良し悪しの向きが逆になるため、設問がどちらの分野かを先に見極める。CPIの逆数であるIPCは大きいほど良い点も混同しやすい。
関連用語
出た過去問
出典:令和3年度 春期 ネットワークスペシャリスト試験 午前Ⅱ 問22(IPA)
表のCPIと構成比率で、3種類の演算命令が合計1,000,000命令実行されるプログラムを、クロック周波数が1GHzのプロセッサで実行するのに必要な時間は何ミリ…
正解:2.8
要点:実行時間は平均CPI×命令数÷クロック周波数で求める
まず構成比率で重み付けした平均CPIを求める。3×0.2+5×0.2+2×0.6=0.6+1.0+1.2=2.8サイクル/命令となる。1,000,000命令では2,800,000サイクル必要で、1GHz(1サイクル1ナノ秒)のプロセッサではこれに1ナノ秒を掛けて2.8ミリ秒となる。
出典・参考
解説は資格暗記が独自に作成しています。過去問の出典は各問題に記載のとおりです。